
public class Interprete{
	 private String instrucciones;
	 private boolean termino;
	 private int contador;
	 
	 /**
	  * Constructor de la clase interprete
	  * @param instrucciones
	  */
	 public Interprete(String instrucciones){
		 this.instrucciones = instrucciones;
	 }

	 /**
	  * Método que va guardando la instrucción hasta llegar a
	  * la siguiente. Regresa una instrucción completa
	  * @return
	  */
	 public String siguienteInstruccion() {
		 /**
		  * Inicializa un string vacío
		  */
			String res = "";
			/**
			 * Va llenando el string con caracteres hasta llegar al
			 * indicador que termina la instruccion (\n)
			 */
			if (termino)
				return "true";			
			else{
				char carac = instrucciones.charAt(contador);
				contador++;
				while (carac != '\n'){
					res = res + carac;
					if (contador != instrucciones.length()){
						carac = instrucciones.charAt(contador);
						contador++;
					}
					else{
						termino = true;
						return res;		
					}
				}
				return res;	
			}
	 }
	 
	 /**
	  * Método que devuelve las instrucciones
	  * @return
	  */
	 public String getInstrucciones(){
		 return instrucciones;
	 }
	 
	 /**
	  * Método que inicializa las instrucciones con las
	  * enviadas como parámetro
	  * @param instrucciones
	  */
	 public void setInstrucciones(String instrucciones){
		 contador = 0;
		 termino = false;
		 this.instrucciones = instrucciones;
	 }
}